#!/bin/bash

echo "🚀 启动聊天室系统..."

# 检查是否安装了 Node.js
if ! command -v node &> /dev/null; then
    echo "❌ 请先安装 Node.js"
    exit 1
fi

# 检查是否安装了 MySQL
if ! command -v mysql &> /dev/null; then
    echo "❌ 请先安装 MySQL"
    exit 1
fi

echo "📦 安装后端依赖..."
cd chatroom-server
npm install

echo "🔧 配置数据库..."
# 创建 .env 文件（如果不存在）
if [ ! -f .env ]; then
    echo "创建 .env 文件..."
    cat > .env << EOF
# Database
DATABASE_URL="mysql://root:password@localhost:3306/chatroom"

# JWT
JWT_SECRET="your-super-secret-jwt-key-change-this-in-production"
JWT_EXPIRES_IN="7d"

# File Upload
UPLOAD_PATH="./uploads"
MAX_FILE_SIZE=10485760

# Server
PORT=3000
NODE_ENV=development
EOF
    echo "⚠️  请修改 .env 文件中的数据库配置"
fi

echo "🗄️  生成 Prisma 客户端..."
npx prisma generate

echo "📊 运行数据库迁移..."
npx prisma db push

echo "🌐 启动后端服务器..."
npm run start:dev &
BACKEND_PID=$!

echo "📦 安装前端依赖..."
cd ../chatroom-client
npm install

echo "🎨 启动前端开发服务器..."
npm run dev &
FRONTEND_PID=$!

echo "✅ 聊天室系统启动完成！"
echo "📱 前端地址: http://localhost:5173"
echo "🔧 后端地址: http://localhost:3000"
echo ""
echo "按 Ctrl+C 停止服务"

# 等待用户中断
trap "echo '🛑 停止服务...'; kill $BACKEND_PID $FRONTEND_PID; exit" INT
wait 